1. Field of the Invention
The present invention relates to a data communications system for implementing a service for communicating data with a prescribed cyclical structure, such as animation data, etc., in high quality via a communications network adopting a datagram type communications protocol, such as the Internet, etc.
As a standard for synchronously communicating animation data, such as digital video, etc., in a local bus, for example, IEEE1394 standard by IEEE (Institute of Electrical and Electronics Engineering) is used.
Recently, with the spread of both equipment, such as a digital video camera, etc., and a high-performance personal computer to a general user, for example, a technology for connecting local networks configured according to the IEEE1394 standard to each other, for example, via the Internet and for relaying a data stream generated based on the standard of each local network is highly demanded.
The present invention is not limited to the Internet or IEEE1394 standard.
2. Description of the Related Art
One frame, which is the basic element of digital video data includes one frame of both video data and audio data and is composed of ten DIF sequences, as shown with serial numbers in FIG. 1A.
Each DIF sequence is composed of 150 DIF blocks and has a structure where a regular pattern consisting of 15 pieces of video data (v) continuing after one piece of audio data (a) following six frame header information (f), is repeated, as shown in FIG. 1B.
Each DIF block is composed of 77 bytes of data and three bytes of identification information, as shown in FIG. 1C.
The data structure shown in FIG. 1 indicates the logical format of digital video data, and when digital video data are transmitted in a real network, a format suitable for the characteristic of the network is adopted.
For example, if digital video data are transmitted via a local bus based on the IEEE1394 standard, an IEEE1394 packet is generated by attaching both a prescribed header (CIP (Common Isochronous Packet) header and synchronous (ISO) header) and CRC to six DIF blocks, as shown in FIG. 2A and digital video data are transmitted in transfer units of these IEEE1394 packets.
In this case, since each DIF sequence is divided into 25 IEEE1394 packets, as shown separated by vertical bars in FIG. 1B, one frame of digital video frame is transmitted as 250 IEEE1394 packets, as shown in FIG. 2B.
Therefore, the combination of DIF blocks included in each IEEE1394 packet has regularity, as shown in FIG. 2C. A repetition pattern shown with an arrow mark in FIG. 2C indicates the variation pattern of the combination of a DIF block (a) with audio data and a DIF block (v) with video data in eight IEEE1394 packets No. 1 through No. 8, and these IEEE1394 packets correspond to the shaded part of a DIF sequence shown in FIG. 1B.
As is clearly known from the regularity in the array of DIF blocks in the DIF sequence described above, the same repetition pattern appears in both IEEE1394 packets No. 9 though No. 16 and IEEE1394 packets No. 17 through No. 24 shown in FIG. 2.
According to the IEEE1394 standard, since it is stipulated that 8,000 IEEE1394 packets should be transmitted per second in a synchronous transfer mode, 30 frames of video and audio data can be reproduced per second via audio/visual equipment connected to a local bus, such as a display device, a speaker, etc.
Therefore, a first network and a second network which are connected by a local bus based on the IEEE1394 standard can also be connected via a third network of another type, and the IEEE1394 packets described above can also be theoretically transmitted/received between them.
A data communications system using such a gateway is also proposed.
For example, a data communications system is proposed by the Principle/Media Laboratory and Environmental Information Department of Keio University (Kazunori Sugiura et al., “Internet DV Transfer Technology Using Frame-Exclusive Technology”, The Institute of Electronics, Information and Communication Engineers, Technical Report of IEICE, CPSY99-33, p.71–81 (May 1999).
As shown in FIG. 3, this data communications system comprises a gateway 10 for relaying data between a first network based on the IEEE1394 standard and the Internet, and a gateway 20 for relaying data between a second network based on the IEEE1394 standard and the Internet.
In FIG. 3, an IEEE1394 packet transmitted to the first network by a digital video camera 1 is transferred to a digital video transmitting unit (DV transmitting unit) 12 via an IEEE1394 adapter 11.
A frame thinning-out process is performed by this digital video transmitting unit 12. Simultaneously, as shown in FIG. 4, header information consisting of an IP header, UDP (User Datagram Protocol) and an application header is attached to an IEEE1394 packet to be transmitted, and a packet encapsulated in an IP packet is transmitted to the Internet via an Internet adapter 413.
In this way, the IP-encapsulated packet is transferred to a digital video receiving unit (DV receiving unit) 21 via an Internet adapter 13 and is decapsulated by this digital video receiving unit 21. Then, the packet is transmitted to the second network via an IEEE1394 adapter 11.
In this way, for example, pictures and voice that are taken by the digital video camera 1 connected to the first network can be transferred to the second network via the Internet and can be recorded/reproduced by a digital video deck 2 connected to the second network.
In this data communications system, an application header, including both an adjustment parameter for indicating information about frame thinning-out, etc., and a sequence number is attached in the encapsulation process by the digital video transmitting unit 12, and an IEEE1394 packet stream is reproduced according to information in this application header in the decapsulation process by the digital video receiving unit 21.
The data communications system shown in FIG. 3 simply encapsulate digital video data in a UDP packet and transmits the data, and information inserted in the application header when data are encapsulated is limited to a few items, such as a sequence number, etc.
For the details of both the frame thinning-out process and IEEE1394 packet stream reproduction process of this data communications system, see the reference described above.
In the data communications system described above, UDP is adopted as the communications protocol of the transport layer of the Internet, and each IEEE1394 packet composing the IEEE1394 packet stream in the first network is transferred to the second network via the Internet as datagram.
Since UDP is connectionless type communication protocol, broadcast type communications in which one sender can simultaneously transmit the same data to many receivers, can be conducted. Therefore, UDP is suited to transmit/receive data between the first and second networks via the Internet.
However, since UPS is provided only with an error detection mechanism as far as a mechanism for maintaining transfer quality is concerned, the loss and redundancy of an IP-encapsulated packet, the modification of an arrival order on the receiving side, etc., must be coped with by an application software program on both the transmitting and receiving sides.
In this way, sufficient information about the loss and redundancy of each packet, the modification of an arrival order, etc., cannot be obtained on the receiving side simply by encapsulating digital video data in an UDP capsule as in the data communications system shown in FIG. 3. Therefore, when the digital video data are reproduced, there is the possibility that there may be some failure and thereby sufficient communication quality cannot be expected.
For example, if a packet stream is synchronously communicated between a sender and a receiver in an IEEE1394 synchronous communications mode described above, transfer delay between the sender and receiver must also be kept constant.
However, in a “best-effort” type network, such as the Internet, both transfer rate and transfer delay vary depending on the traffic of a network and simultaneously, transfer delay on the receiving side greatly varies depending on the loss and redundancy of an IP-encapsulated packet.
Besides, the occurrence probability of the loss and redundancy of a packet, etc., varies depending on the traffic of a network.
Therefore, to implement the transmission of packet streams in an IEEE1394 synchronous communications mode via a network adopting a datagram type communications protocol, such as the Internet, etc., a technology for controlling transfer delay as well as a technology for improving transfer quality between a sender and a receiver are required.
For example, communications between local networks can be implemented via the Internet regardless of a physical distance between the local networks by providing each of a plurality of local area networks with a router or gateway and by connecting this router or gateway to the Internet.
FIG. 5 shows an example of the configuration of a data communications system configured by connecting a plurality of local area networks using gateways.
In the data communications system shown in FIG. 5, personal computers (PC) 21a, 21b and 21c connected to a first LAN, a second LAN and a third LAN, respectively, and gateways 22a, 22b and 22c are connected, for example, according to the communications protocol of a network layer, such as an IP protocol, etc.
If the communications protocols of the network layers between terminals in which data are relayed using both gateways and the Internet are unified, communications between personal computers 21a, 21b and 21c can be implemented regardless of the communications protocols of a data link layer adopted in the first, second and third LANs.
However, the IEEE1394 standard is focussed on as a high-speed interface for connecting audio/visual equipment, such as a digital video camera, etc., to a personal computer.
This IEEE1394 standard is a high-speed serial bus standard that is stipulated around both a physical layer and a data link layer, and stipulates a function to consecutively transfer a prescribed transfer unit in a specific cycle (synchronous transfer mode) and a function to transfer a control command from time to time to control equipment, such as a digital video camera, etc. (asynchronous transfer mode).
According to the IEEE1394 standard, n synchronous transfer channels and an asynchronous transfer packet transfer time coexist in one cycle (125 μs), as shown in FIG. 6A.
If data are transferred in asynchronous transfer mode, a node on the transmitting side requests a bus management node of an isochronous channel, and then a synchronous transfer channel depending on the transfer rate is assigned by the bus management node or a channel ID for identifying an aisochronous channel is provided.
If particularly, animation data with audio data are transferred in real time in a synchronous transfer mode, the transmitting side node attaches a CIP (Common Isochronous Packet) header to transfer data in addition to a synchronous header, including the channel ID described above, generates an aisochronous packet shown in FIG. 6B and transmits the assigned aisochronous channel. A receiving side node identifies a packet to be received based on the channel ID included in the aisochronous packet and receives the transfer data.
The CIP header is provided with 16 bits of a time stamp field, and when transferring digital video data, the transmitting side node writes a time stamp for indicating a transmission time in one of a series of packets composing one frame of video data. The receiving side node adjusts timing based on this time stamp.
In this way, in the synchronous transfer mode of the IEEE1394 standard, an individual communications is identified by the channel ID included in the synchronous header, and data can be transferred while being synchronized by adjusting timing based on the time stamp in the CIP header regardless of the number of receiving side nodes.
However, in asynchronous transfer mode, after obtaining a right to use a bus, a transmitting side node generates an asynchronous packet (see FIG. 6C) by attaching an asynchronous header, including respective node IDs for indicating a transmitting node and a receiving node to transfer data, and transmits the packet to a bus.
Then, a receiving side node receives the packet addressed to him/her based on a receiving ID included in the header and transmits a reply packet (shown by symbol “ack” to a bus within a prescribed time period in FIG. 6A).
In this way, in an IEEE1394 asynchronous transfer mode, an individual communications is identified by the combination of a source ID and a destination ID included in the asynchronous header, and the arrival of a packet with transfer data is confirmed by a prescribed reply packet returned by the receiving side node.
As a data communications system for implementing the transmission/reception of an IEEE1394 packet by connecting first and second networks that are connected to each local bus based on the IEEE1394 standard described above via a third network of another type, the data communications system described above that is proposed by the Principle/Media Laboratory and the Environmental Information department of Keio University is used.
Since the existing router is configured presuming that networks should be connected even in the case of the protocol of a data link layer or a layer lower in hierarchy than a data link layer of a relay network, information transmitted/received between functions of a data link layer or less in an individual network is not used.
However, the information of this data link layer cannot be used simply by encapsulating a packet transferred in an individual network, including information about the functions of a data link layer or less.
This is because the information of a data link layer is peculiar to an individual network, it is presumed that a transmitting node and a receiving node belong to one network and it is not presumed that each of the transmitting and receiving nodes belongs to a different network.
For example, according to the IEEE1394 standard, bus reset is caused by the addition of a new node, etc., and each time, a node ID is provided to each node belonging to the network according to prescribed procedures.
In this case, a node ID provided to each node is not always the same ID provided before the bus reset. There is the possibility that the aisochronous channel ID may also be modified.
If each of a transmitting node and a receiving node belongs to a different network, timing cannot be adjusted using a time stamp indicating a time in the network on the transmitting side without any modification on the receiving side even if the time stamp is written in the CIP header of a synchronous transfer mode and is transferred to the receiving node.
However, since the IEEE1394 standard presumes that a receiving node exists within a prescribed cable length, a time allowed until a reply packet is returned to an asynchronous packet is very short.
Therefore, if the reply packet is transmitted after an asynchronous packet is actually received, delivery confirmation cannot be normally completed in an asynchronous transfer mode.
In addition to the above, there are the following problems.    A) Essentially one communications must be divided into a plurality of communications depending on the usable band of a network and each of the divided communications must be transferred via a different route as a respective independent communications.    B) The delay of data transferred by one sender with a plurality of different communications delay must be adjusted and synchronized on the receiving side.    C) The delay of data transferred by a plurality of senders with a plurality of different communications delay must be adjusted and synchronized on the receiving side.